package jxerializeml.clues.classes;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import jxerializeml.clues.structures.ClassListener;

/**
 * Defines listeners which should be triggered
 * when class is being serialized or deserialized.
 * 
 * @author Tomáš Zíma
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface InvokeClassListeners {
	/**
	 * @return
	 *     List of all listeners which should be triggered on some events.
	 */
	public ClassListener[] methods(); 
}
